package org.sakai.entity.dto;

import lombok.Data;
import java.util.List;

@Data
public class AIChatRequest {
    /**
     * 查询模式：naive(朴素模式), local(本地模式), global(全局模式), hybrid(混合模式)
     */
    private String mode;
    
    /**
     * 检索相似文档的数量，默认值：10
     */
    private Integer topK = 10;
    
    /**
     * 单个文本单元的最大token数，默认值：4000
     */
    private Integer maxTokenForTextUnit = 4000;
    
    /**
     * 全局上下文的最大token数，默认值：4000
     */
    private Integer maxTokenForGlobalContext = 4000;
    
    /**
     * 本地上下文的最大token数，默认值：4000
     */
    private Integer maxTokenForLocalContext = 4000;
    
    /**
     * 保留的历史对话轮数，默认值：3
     */
    private Integer historyTurns = 3;
    
    /**
     * 是否只需要上下文，默认值：false
     */
    private Boolean onlyNeedContext = false;
    
    /**
     * 是否只需要提示词，默认值：false
     */
    private Boolean onlyNeedPrompt = false;
    
    /**
     * 是否使用流式响应，默认值：false
     */
    private Boolean stream = false;
    
    /**
     * 用户当前的问题
     */
    private String query;
    
    /**
     * 历史对话记录数组，包含角色和内容信息
     */
    private List<ChatMessage> conversationHistory;
} 